
//添加管理员路由

const express = require("express");


var md5 = require('md5');


const route = express.Router();

//引入数据库集合
const adminModel = require("../db/model/adminModel")

// 引入正则中间件
const addAdminReg = require("../middleware/addAdminReg")

const isLoginMiddle = require("../middleware/isLoginMiddle")

//()=>{},()=>{}, 接口  中间件  校验正则
route.post("/addAdmin",isLoginMiddle, addAdminReg,
  //...原本的逻辑代码
  async (req, res) => {
    try {
      //拿到请求体数据
      const {
        //前端传的字段
        adminName,
        passWord,
        regTime
      } = req.body;
      
      // consol e.log(req.body);
      //注册功能 数据库内无则添加 提示注册成功 有则提示已经注册 
      // 去管理员集合中查询 当前没有 引入集合 adminModel
      //拿到用户名去数据库查询是该用户信息
      const findRe = await adminModel.findOne({
        adminName
      })

      //如果re是一个对象,则代表当前账号名查询到了数据,说明该账号已经注册
      if (findRe) {
        return res.send({
          code: 10002,
          message: "用户名已经被注册",
          data: null
        })
      }

      //如果跳过if,则代表findRe是空值,说明数据库没有当前用户,此时可以向数据库添加该数据
      // await adminModel.create(req.body);
      await adminModel.create({ adminName, passWord: md5(passWord + "123"), regTime });
      // console.log(passWord);
      // console.log("md5添加加密" ,md5(passWord + "123"));
      res.send({
        code: 10000,
        message: "注册成功",
        data: null
      })
    } catch (e) {
      res.send({
        code: 10003,
        message: "其他类型错误",
        data: null
      })
    }
  }
)

module.exports = route;
